namespace ext
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <definedin>src\core\CompositeElementLite-more.js</definedin>
	/// <definedin>src\core\CompositeElementLite-more.js</definedin>
	/// <definedin>src\ext-core\src\core\CompositeElementLite.js</definedin>
	[ScriptName("CompositeElementLite")]
	[ScriptNamespace("Ext")]
	[Imported()]
	public partial class CompositeElementLite
	{
		
		#region Properties
		/// <summary>
		/// The Array of DOM elements which this CompositeElement encapsulates. Read-only.  This will not usually be accessed in developers&apos; code, but developers wishing
		/// to augment the capabilities of the CompositeElementLite class may use it when adding
		/// methods to the class.  For example to add the nextAll method to the class to add all
		/// following siblings of selected elements, the code would be  
		/// Ext.override(Ext.CompositeElementLite, {
		/// nextAll: function() {
		/// var els = this.elements, i, l = els.length, n, r = [], ri = -1;
		///
		/// // Loop through all elements in this Composite, accumulating
		/// // an Array of all siblings.
		/// for (i = 0; i &lt; l; i++) {
		/// for (n = els[i].nextSibling; n; n = n.nextSibling) {
		/// r[++ri] = n;
		/// }
		/// }
		///
		/// // Add all found siblings to this Composite
		/// return this.add(r);
		/// }
		/// });
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;The Array of DOM elements which this CompositeElement encapsulates. Read-only.&lt;/p&gt;
		/// &lt;p&gt;This will not &lt;i&gt;usually&lt;/i&gt; be accessed in developers&apos; code, but developers wishing
		/// to augment the capabilities of the CompositeElementLite class may use it when adding
		/// methods to the class.&lt;/p&gt;
		/// &lt;p&gt;For example to add the &lt;code&gt;nextAll&lt;/code&gt; method to the class to &lt;b&gt;add&lt;/b&gt; all
		/// following siblings of selected elements, the code would be&lt;/p&gt;&lt;code&gt;&lt;pre&gt;
		/// Ext.override(Ext.CompositeElementLite, {
		/// nextAll: function() {
		/// var els = this.elements, i, l = els.length, n, r = [], ri = -1;
		///
		/// // Loop through all elements in this Composite, accumulating
		/// // an Array of all siblings.
		/// for (i = 0; i &lt; l; i++) {
		/// for (n = els[i].nextSibling; n; n = n.nextSibling) {
		/// r[++ri] = n;
		/// }
		/// }
		///
		/// // Add all found siblings to this Composite
		/// return this.add(r);
		/// }
		/// });&lt;/pre&gt;&lt;/code&gt;
		/// </htmlSummary>
		/// <definedin>src\ext-core\src\core\CompositeElementLite.js</definedin>
		[ScriptName("elements")]
		[IntrinsicProperty()]
		public System.Array Elements
		{
			get
			{
				throw new System.Exception("Imported - not implemented");
			}
		}
		#endregion
		
		#region Methods
		/// <summary>Returns the first Element</summary>
		/// <definedin>src\core\CompositeElementLite-more.js</definedin>
		[ScriptName("first")]
		public ext.Element First()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the last Element</summary>
		/// <definedin>src\core\CompositeElementLite-more.js</definedin>
		[ScriptName("last")]
		public ext.Element Last()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns true if this composite contains the passed element</summary>
		/// <definedin>src\core\CompositeElementLite-more.js</definedin>
		/// <param name="el">The id of an element, or an Ext.Element, or an HtmlElement to find within the composite collection.</param>
		[ScriptName("contains")]
		public bool Contains(object el)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the number of elements in this Composite.</summary>
		/// <definedin>src\ext-core\src\core\CompositeElementLite.js</definedin>
		[ScriptName("getCount")]
		public System.Number GetCount()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Adds elements to this Composite object.</summary>
		/// <definedin>src\ext-core\src\core\CompositeElementLite.js</definedin>
		/// <param name="els">Either an Array of DOM elements to add, or another Composite object who&apos;s elements should be added.</param>
		/// <returns>This Composite object.</returns>
		[ScriptName("add")]
		public ext.CompositeElement Add(object els)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns a flyweight Element of the dom element object at the specified index</summary>
		/// <definedin>src\ext-core\src\core\CompositeElementLite.js</definedin>
		/// <param name="index"></param>
		[ScriptName("item")]
		public ext.Element Item(System.Number index)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Clears this Composite and adds the elements passed.</summary>
		/// <definedin>src\ext-core\src\core\CompositeElementLite.js</definedin>
		/// <param name="els">Either an array of DOM elements, or another Composite from which to fill this Composite.</param>
		/// <returns>this</returns>
		[ScriptName("fill")]
		public ext.CompositeElement Fill(object els)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Find the index of the passed element within the composite collection.</summary>
		/// <definedin>src\ext-core\src\core\CompositeElementLite.js</definedin>
		/// <param name="el">The id of an element, or an Ext.Element, or an HtmlElement to find within the composite collection.</param>
		/// <returns>The index of the passed Ext.Element in the composite collection, or -1 if not found.</returns>
		[ScriptName("indexOf")]
		public System.Number IndexOf(object el)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Removes all elements.</summary>
		/// <definedin>src\ext-core\src\core\CompositeElementLite.js</definedin>
		[ScriptName("clear")]
		public void Clear()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Removes the specified element(s).</summary>
		/// <definedin>src\core\CompositeElementLite-more.js</definedin>
		/// <param name="el">
		/// The id of an element, the Element itself, the index of the element in this composite
		/// or an array of any of those.
		/// </param>
		/// <param name="removeDom">True to also remove the element from the document</param>
		/// <returns>this</returns>
		[ScriptName("removeElement")]
		public ext.CompositeElement RemoveElement(object el, bool removeDom)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Removes the specified element(s).</summary>
		/// <definedin>src\core\CompositeElementLite-more.js</definedin>
		/// <param name="el">
		/// The id of an element, the Element itself, the index of the element in this composite
		/// or an array of any of those.
		/// </param>
		/// <returns>this</returns>
		[ScriptName("removeElement")]
		public ext.CompositeElement RemoveElement(object el)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Calls the passed function for each element in this composite.</summary>
		/// <htmlSummary>&lt;p&gt;Calls the passed function for each element in this composite.&lt;/p&gt;</htmlSummary>
		/// <definedin>src\ext-core\src\core\CompositeElementLite.js</definedin>
		/// <param name="fn">
		/// The function to call. The function is passed the following parameters:&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;el&lt;/b&gt; : Element&lt;div class=&quot;sub-desc&quot;&gt;The current Element in the iteration.
		/// &lt;b&gt;This is the flyweight (shared) Ext.Element instance, so if you require a
		/// a reference to the dom node, use el.dom.&lt;/b&gt;&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;c&lt;/b&gt; : Composite&lt;div class=&quot;sub-desc&quot;&gt;This Composite object.&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;idx&lt;/b&gt; : Number&lt;div class=&quot;sub-desc&quot;&gt;The zero-based index in the iteration.&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;
		/// </param>
		/// <param name="scope">The scope (&lt;i&gt;this&lt;/i&gt; reference) in which the function is executed. (defaults to the Element)</param>
		/// <returns>this</returns>
		[ScriptName("each")]
		public ext.CompositeElement Each(System.Delegate fn, object scope)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Calls the passed function for each element in this composite.</summary>
		/// <htmlSummary>&lt;p&gt;Calls the passed function for each element in this composite.&lt;/p&gt;</htmlSummary>
		/// <definedin>src\ext-core\src\core\CompositeElementLite.js</definedin>
		/// <param name="fn">
		/// The function to call. The function is passed the following parameters:&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;el&lt;/b&gt; : Element&lt;div class=&quot;sub-desc&quot;&gt;The current Element in the iteration.
		/// &lt;b&gt;This is the flyweight (shared) Ext.Element instance, so if you require a
		/// a reference to the dom node, use el.dom.&lt;/b&gt;&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;c&lt;/b&gt; : Composite&lt;div class=&quot;sub-desc&quot;&gt;This Composite object.&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;idx&lt;/b&gt; : Number&lt;div class=&quot;sub-desc&quot;&gt;The zero-based index in the iteration.&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;
		/// </param>
		/// <returns>this</returns>
		[ScriptName("each")]
		public ext.CompositeElement Each(System.Delegate fn)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Filters this composite to only elements that match the passed selector.</summary>
		/// <definedin>src\ext-core\src\core\CompositeElementLite.js</definedin>
		/// <param name="selector">
		/// A string CSS selector or a comparison function.
		/// The comparison function will be called with the following arguments:&lt;ul&gt;
		/// &lt;li&gt;<c>el</c> : Ext.Element&lt;div class=&quot;sub-desc&quot;&gt;The current DOM element.&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;<c>index</c> : Number&lt;div class=&quot;sub-desc&quot;&gt;The current index within the collection.&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;
		/// </param>
		/// <returns>this</returns>
		[ScriptName("filter")]
		public ext.CompositeElement Filter(string selector)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Filters this composite to only elements that match the passed selector.</summary>
		/// <definedin>src\ext-core\src\core\CompositeElementLite.js</definedin>
		/// <param name="selector">
		/// A string CSS selector or a comparison function.
		/// The comparison function will be called with the following arguments:&lt;ul&gt;
		/// &lt;li&gt;<c>el</c> : Ext.Element&lt;div class=&quot;sub-desc&quot;&gt;The current DOM element.&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;<c>index</c> : Number&lt;div class=&quot;sub-desc&quot;&gt;The current index within the collection.&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;
		/// </param>
		/// <returns>this</returns>
		[ScriptName("filter")]
		public ext.CompositeElement Filter(System.Delegate selector)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Replaces the specified element with the passed element.</summary>
		/// <definedin>src\ext-core\src\core\CompositeElementLite.js</definedin>
		/// <param name="el">
		/// The id of an element, the Element itself, the index of the element in this composite
		/// to replace.
		/// </param>
		/// <param name="replacement">The id of an element or the Element itself.</param>
		/// <param name="domReplace">True to remove and replace the element in the document too.</param>
		/// <returns>this</returns>
		[ScriptName("replaceElement")]
		public ext.CompositeElement ReplaceElement(object el, object replacement, bool domReplace)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Replaces the specified element with the passed element.</summary>
		/// <definedin>src\ext-core\src\core\CompositeElementLite.js</definedin>
		/// <param name="el">
		/// The id of an element, the Element itself, the index of the element in this composite
		/// to replace.
		/// </param>
		/// <param name="replacement">The id of an element or the Element itself.</param>
		/// <returns>this</returns>
		[ScriptName("replaceElement")]
		public ext.CompositeElement ReplaceElement(object el, object replacement)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
	}
}
